﻿//using System;
//using System.ComponentModel;
//using System.Windows.Controls;

//namespace Mari.SmartHotel.Core
//{
//    [Serializable]
//    public abstract class Controller
//    {
//        #region Private const
//        const string RESOURCE_PATH = "/{0};component/{1}/{2}";
//        const string IMAGE_PATH = "/{0};component/Images/{1}";
//        #endregion

//        #region Private fields
//        Control menuPane;
//        ContentControl helpPane;
//        ContentControl taskPane;
//        #endregion

//        #region Virtual method
//        public virtual void Initialize(Control menuPane, ContentControl helpPane, ContentControl taskPane)
//        {
//        }
//        #endregion

//        #region Abstract method
//        public abstract bool OnClosing();
//        public abstract bool OnMaskChanging();
//        public abstract void Close();
//        #endregion

//        #region Public properties
//        public IContainer Container { get; set; }

//        public ContentControl HelpPane
//        {
//            get
//            {
//                return helpPane;
//            }
//        }

//        public ContentControl TaskPane
//        {
//            get
//            {
//                return taskPane;
//            }
//        }

//        public Control MenuPane
//        {
//            get
//            {
//                return menuPane;
//            }
//        }
//        #endregion

//        #region Protected methods
//        /// <summary>
//        /// Returns a relative uri of images resources stored in Images assembly folder 
//        /// </summary>
//        /// <param name="imageName"></param>
//        /// <returns></returns>
//        protected Uri GetResourceImageUri(string imageName)
//        {
//            return new Uri(string.Format(IMAGE_PATH, this.GetType().Assembly.FullName, imageName), UriKind.Relative);
//        }

//        protected Uri GetResourceUri(string relativePath, string resourceName)
//        {
//            return new Uri(string.Format(RESOURCE_PATH, this.GetType().Assembly.FullName, relativePath, resourceName), UriKind.Relative);
//        }
//        #endregion
//    }
//}
